Despite a continual increase in processing speed and memory (storage capacity) of computing devices, efficient use of computing resources (e.g., processors, memory, etc.) remains an important consideration when creating computing instructions and performing computing operations. Although excess computer memory may be available, it may be advantageous to minimize memory usage during certain operations to conserve resources and reduce unnecessary memory use that may quickly propagate during computing operations.
One type of computing operation which may use large amounts of memory includes mathematical operations involving large numbers. Large numbers may be any type of number (e.g., real, whole, integers, imaginary, complex, polar, etc.) that include a high number of significant digits (e.g., greater than ten digits). One example of a large number is PI (π), which includes an infinite quantity of digits beyond the decimal place. As such, PI may be expressed with different levels of precision, such as 3.1415926535, which includes a significand (i.e., the “mantissa” as commonly used in the context of computer science) of eleven digits.
Many computing systems that perform mathematical operations save memory and increase processing throughput by truncating large numbers, thus compromising accuracy in exchange for reduced memory allocation and faster processing. However, in some disciplines, a reduction of accuracy from truncating numbers may not be acceptable. For example, in academics and professional use, such as in the aerospace industry where very precise calculations are necessary, large numbers may need to be maintained and manipulated without excessive truncation or loss of significant digits.